Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
jest-diff
Advanced tools
The jest-diff npm package is a utility primarily used to show differences between two values, typically used in testing environments to assert the equality of objects, arrays, or other data structures. It is part of the Jest testing framework but can be used independently for its diffing capabilities.
Diffing two values
This feature allows you to compare two JavaScript objects and outputs a string that visually represents the differences between them. It is useful for debugging and in test assertions to see what exactly differs when a test fails.
const diff = require('jest-diff');
const a = { a: { b: { c: 5 } } };
const b = { a: { b: { c: 6 } } };
console.log(diff(a, b));
Customizing diff output
This feature allows customization of the diff output by passing options. You can specify annotations for the compared values, which helps in making the output more understandable and tailored to specific needs.
const diff = require('jest-diff');
const options = { aAnnotation: 'First', bAnnotation: 'Second' };
const a = [1, 2, 3];
const b = [2, 1, 3];
console.log(diff(a, b, options));
Deep-diff is a library that provides a detailed analysis of differences between any two JavaScript objects. It is more granular than jest-diff as it provides more detailed information about the type of change (edit, delete, add), which can be useful for more complex diffing needs.
The 'diff' package is another popular choice for computing differences between texts. It is not limited to JavaScript objects and can handle strings effectively, making it suitable for applications like text editors or any scenario where text comparison is needed. Unlike jest-diff, it does not provide a structured view for object differences.
24.9.0
[expect]
Highlight substring differences when matcher fails, part 1 (#8448)[expect]
Highlight substring differences when matcher fails, part 2 (#8528)[expect]
Improve report when mock-spy matcher fails, part 1 (#8640)[expect]
Improve report when mock-spy matcher fails, part 2 (#8649)[expect]
Improve report when mock-spy matcher fails, part 3 (#8697)[expect]
Improve report when mock-spy matcher fails, part 4 (#8710)[expect]
Throw matcher error when received cannot be jasmine spy (#8747)[expect]
Improve report when negative CalledWith assertion fails (#8755)[expect]
Improve report when positive CalledWith assertion fails (#8771)[expect]
Display equal values for ReturnedWith similar to CalledWith (#8791)[expect, jest-snapshot]
Change color from green for some args in matcher hints (#8812)[jest-snapshot]
Highlight substring differences when matcher fails, part 3 (#8569)[jest-core]
Improve report when snapshots are obsolete (#8665)[jest-cli]
Improve chai support (with detailed output, to match jest exceptions) (#8454)[*]
Manage the global timeout with --testTimeout
command line argument. (#8456)[pretty-format]
Render custom displayName of memoized components (#8546)[jest-validate]
Allow maxWorkers
as part of the jest.config.js
(#8565)[jest-runtime]
Allow passing configuration objects to transformers (#7288)[@jest/core, @jest/test-sequencer]
Support async sort in custom testSequencer
(#8642)[jest-runtime, @jest/fake-timers]
Add jest.advanceTimersToNextTimer
(#8713)[@jest-transform]
Extract transforming require logic within jest-core
into @jest-transform
(#8756)[jest-matcher-utils]
Add color options to matcherHint
(#8795)[jest-circus/jest-jasmine2]
Give clearer output for Node assert errors (#8792)[jest-runner]
Export all types in the type signature of jest-runner
(#8825)[jest-cli]
Detect side-effect only imports when running --onlyChanged
or --changedSince
(#8670)[jest-cli]
Allow --maxWorkers
to work with % input again (#8565)[babel-plugin-jest-hoist]
Expand list of whitelisted globals in global mocks (#8429)[jest-core]
Make watch plugin initialization errors look nice (#8422)[jest-snapshot]
Prevent inline snapshots from drifting when inline snapshots are updated (#8492)[jest-haste-map]
Don't throw on missing mapper in Node crawler (#8558)[jest-core]
Fix incorrect passWithNoTests
warning (#8595)[jest-snapshots]
Fix test retries that contain snapshots (#8629)[jest-mock]
Fix incorrect assignments when restoring mocks in instances where they originally didn't exist (#8631)[expect]
Fix stack overflow when matching objects with circular references (#8687)[jest-haste-map]
Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth (#8787)[docs]
Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions[jest-leak-detector]
remove code repeat (#8438)[docs]
Add example to jest.requireActual
(#8482)[docs]
Add example to jest.mock
for mocking ES6 modules with the factory
parameter (#8550)[docs]
Add information about using jest.doMock
with ES6 imports (#8573)[docs]
Fix variable name in custom-matcher-api code example (#8582)[docs]
Fix example used in custom environment docs (#8617)[docs]
Updated react tutorial to refer to new package of react-testing-library (@testing-library/react) (#8753)[docs]
Updated imports of react-testing-library to @testing-library/react in website (#8757)[jest-core]
Add getVersion
(moved from jest-cli
) (#8706)[docs]
Fix MockFunctions example that was using toContain instead of toContainEqual (#8765)[*]
Make sure copyright header comment includes license (#8783)[*]
Check copyright and license as one joined substring (#8815)[docs]
Fix WatchPlugins jestHooks.shouldRunTestSuite
example that receives an object (#8784)[*]
Enforce LF line endings (#8809)[pretty-format]
Delete obsolete link and simplify structure in README (#8824)[docs]
Fix broken transform link on webpack page (#9155)FAQs
Display differences clearly so people can review changes confidently.
The npm package jest-diff receives a total of 18,145,261 weekly downloads. As such, jest-diff popularity was classified as popular.
We found that jest-diff demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.